]> git.pld-linux.org Git - packages/gtk+4.git/blob - gtk+4.spec
488b59ceca76cc72e45086acb383889d8789900b
[packages/gtk+4.git] / gtk+4.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # gtk-doc build
4 %bcond_without  broadway        # Broadway target
5 %bcond_without  wayland         # Wayland target
6 %bcond_without  vulkan          # Vulkan graphics support
7 %bcond_without  gstreamer       # GStreamer media backend
8 %bcond_with     ffmpeg          # FFmpeg media backend
9 %bcond_with     cloudproviders  # cloudproviders support
10 %bcond_without  cloudprint      # cloudprint print backend
11 %bcond_without  cups            # CUPS print backend
12
13 Summary:        The GIMP Toolkit
14 Summary(cs.UTF-8):      Sada nástrojů pro GIMP
15 Summary(de.UTF-8):      Der GIMP-Toolkit
16 Summary(fi.UTF-8):      GIMP-työkalukokoelma
17 Summary(fr.UTF-8):      Le toolkit de GIMP
18 Summary(it.UTF-8):      Il toolkit per GIMP
19 Summary(pl.UTF-8):      GIMP Toolkit
20 Summary(tr.UTF-8):      GIMP ToolKit arayüz kitaplığı
21 Name:           gtk+4
22 Version:        3.94.0
23 Release:        1
24 License:        LGPL v2+
25 Group:          X11/Libraries
26 Source0:        http://ftp.gnome.org/pub/GNOME/sources/gtk+/3.94/gtk+-%{version}.tar.xz
27 # Source0-md5:  047f05058d3ad6a3bbfcb48d3167099e
28 Patch0:         %{name}-lpr.patch
29 URL:            http://www.gtk.org/
30 BuildRequires:  at-spi2-atk-devel >= 2.6.0
31 BuildRequires:  atk-devel >= 1:2.16.0
32 # cairo-gobject + cairo-pdf,cairo-ps,cairo-svg
33 BuildRequires:  cairo-gobject-devel >= 1.14.0
34 BuildRequires:  colord-devel >= 0.1.9
35 %if %{with cups}
36 BuildRequires:  cups-devel >= 1:1.6
37 %endif
38 BuildRequires:  docbook-dtd412-xml
39 BuildRequires:  docbook-style-xsl
40 BuildRequires:  fontconfig-devel
41 # libavfilter >= 6.47.100, libavformat >= 57.41.100, libavcodec >= 57.48.101, libavutil >= 55.28.100, libswscale >= 4.6.100
42 %{?with_ffmpeg:BuildRequires:   ffmpeg-devel >= 3.1.1}
43 BuildRequires:  freetype-devel >= 1:2.7.1
44 BuildRequires:  gdk-pixbuf2-devel >= 2.31.0
45 BuildRequires:  gettext-tools >= 0.19.7
46 BuildRequires:  glib2-devel >= 1:2.55.0
47 BuildRequires:  gobject-introspection-devel >= 1.39.0
48 BuildRequires:  graphene-devel >= 1.5.1
49 %{?with_gstreamer:BuildRequires:        gstreamer-devel >= 1.12.3}
50 %if %{with apidocs}
51 BuildRequires:  gtk-doc >= 1.25-2
52 %endif
53 BuildRequires:  harfbuzz-devel >= 0.9
54 %{?with_cloudprint:BuildRequires:       json-glib-devel >= 1.0}
55 %{?with_cloudproviders:BuildRequires:   libcloudproviders-devel >= 0.2.5}
56 BuildRequires:  libepoxy-devel >= 1.4
57 BuildRequires:  libstdc++-devel
58 BuildRequires:  libtool >= 2:2.2.6
59 BuildRequires:  libxml2-progs >= 1:2.6.31
60 BuildRequires:  libxslt-progs >= 1.1.20
61 BuildRequires:  meson >= 0.43.0
62 BuildRequires:  pango-devel >= 1:1.41.0
63 BuildRequires:  perl-base
64 BuildRequires:  pkgconfig
65 %{?with_cloudprint:BuildRequires:       rest-devel >= 0.7}
66 BuildRequires:  rpm-pythonprov
67 BuildRequires:  rpmbuild(macros) >= 1.592
68 # glslc required to rebuild some files from source
69 %{?with_vulkan:BuildRequires:   shaderc}
70 BuildRequires:  sqlite3-devel
71 BuildRequires:  tar >= 1:1.22
72 %{?with_vulkan:BuildRequires:   vulkan-devel}
73 BuildRequires:  xorg-lib-libX11-devel >= 1.5.0
74 BuildRequires:  xorg-lib-libXcomposite-devel
75 BuildRequires:  xorg-lib-libXcursor-devel
76 BuildRequires:  xorg-lib-libXdamage-devel
77 BuildRequires:  xorg-lib-libXext-devel
78 BuildRequires:  xorg-lib-libXfixes-devel
79 BuildRequires:  xorg-lib-libXft-devel
80 BuildRequires:  xorg-lib-libXi-devel
81 BuildRequires:  xorg-lib-libXinerama-devel
82 BuildRequires:  xorg-lib-libXrandr-devel >= 1.5.0
83 BuildRequires:  xorg-lib-libXrender-devel
84 BuildRequires:  xz
85 %{?with_broadway:BuildRequires: zlib-devel}
86 %if %{with wayland}
87 # wayland-client, wayland-cursor, wayland-scanner
88 BuildRequires:  wayland-devel >= 1.14.91
89 BuildRequires:  wayland-egl-devel
90 BuildRequires:  wayland-protocols >= 1.12
91 BuildRequires:  xorg-lib-libxkbcommon-devel >= 0.2.0
92 %endif
93 Requires:       xorg-lib-libX11 >= 1.5.0
94 Requires(post,postun):  glib2 >= 1:2.55.0
95 Requires:       atk >= 1:2.16.0
96 Requires:       cairo-gobject >= 1.14.0
97 Requires:       freetype >= 1:2.7.1
98 Requires:       gdk-pixbuf2 >= 2.31.0
99 Requires:       glib2 >= 1:2.55.0
100 Requires:       graphene >= 1.5.1
101 %{?with_cloudproviders:Requires:        libcloudproviders >= 0.2.5}
102 Requires:       libepoxy >= 1.4
103 Requires:       pango >= 1:1.41.0
104 Requires:       xorg-lib-libXi >= 1.3.0
105 Requires:       xorg-lib-libXrandr >= 1.5.0
106 %if %{with wayland}
107 Requires:       wayland >= 1.14.91
108 Requires:       xorg-lib-libxkbcommon >= 0.2.0
109 %endif
110 # evince is used as gtk-print-preview-command by default
111 Suggests:       evince-backend-pdf
112 %if %{with cups}
113 # cups is used by default if gtk+ is built with cups
114 Suggests:       %{name}-cups = %{version}-%{release}
115 %endif
116 Obsoletes:      gtk+4-papi
117 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
118
119 %define         abivers 4.0.0
120
121 %if "%{_lib}" != "lib"
122 %define         libext          %(lib="%{_lib}"; echo ${lib#lib})
123 %define         pqext           -%{libext}
124 %else
125 %define         pqext           %{nil}
126 %endif
127
128 %description
129 GTK+, which stands for the GIMP ToolKit, is a library for creating
130 graphical user interfaces for the X Window System. It is designed to
131 be small, efficient, and flexible. GTK+ is written in C with a very
132 object-oriented approach. GDK (part of GTK+) is a drawing toolkit
133 which provides a thin layer over Xlib to help automate things like
134 dealing with different color depths, and GTK is a widget set for
135 creating user interfaces.
136
137 %description -l cs.UTF-8
138 Knihovny X původně psané pro GIMP, které nyní používá také řada jiných
139 programů.
140
141 %description -l da.UTF-8
142 X biblioteker, oprindeligt udviklet til GIMP, men anvendes nu af flere
143 forskellige programmer.
144
145 %description -l de.UTF-8
146 Die X-Libraries, die ursprünglich für GIMP geschrieben wurden und
147 mittlerweile für eine ganze Reihe anderer Programme benutzt werden.
148
149 %description -l fr.UTF-8
150 X-kirjastot, jotka alunperin kirjoitettiin GIMP:lle, mutta joita
151 käytetään nyt myös useissa muissakin ohjelmissa.
152
153 %description -l it.UTF-8
154 Libreria X scritta per GIMP. Viene usata da diversi programmi.
155
156 %description -l pl.UTF-8
157 GTK+, która to biblioteka stała się podstawą programu GIMP, zawiera
158 funkcje do tworzenia graficznego interfejsu użytkownika pod X Window.
159 Była tworzona z założeniem żeby była mała, efektywna i wygodna. GTK+
160 jest napisane w C z podejściem zorientowanym bardzo obiektowo. GDK
161 (część GTK+) jest warstwą pośrednią pomiędzy Xlib a właściwym GTK
162 zapewniającą pracę niezależnie od głębi koloru (ilości bitów na
163 piksel). GTK (druga część GTK+) jest natomiast już zbiorem różnego
164 rodzaju kontrolek służących do tworzenia interfejsu użytkownika.
165
166 %description -l tr.UTF-8
167 Başlangıçta GIMP için yazılmış X kitaplıkları. Şu anda başka
168 programlarca da kullanılmaktadır.
169
170 %package update-icon-cache
171 Summary:        Utility to update icon cache used by GTK+ library
172 Summary(pl.UTF-8):      Narzędzie do uaktualniania cache'a ikon używanego przez bibliotekę GTK+
173 Group:          Applications/System
174 Requires:       gdk-pixbuf2 >= 2.31.0
175 Requires:       glib2 >= 1:2.55.0
176
177 %description update-icon-cache
178 Utility to update icon cache used by GTK+ library.
179
180 %description update-icon-cache -l pl.UTF-8
181 Narzędzie do uaktualniania cache'a ikon używanego przez bibliotekę
182 GTK+.
183
184 %package devel
185 Summary:        GTK+ header files and development documentation
186 Summary(cs.UTF-8):      Sada nástrojů GIMP a kreslící kit GIMP
187 Summary(da.UTF-8):      GIMP Toolkit og GIMP Tegnings-værktøj
188 Summary(de.UTF-8):      GIMP Toolkit und GIMP Drawing Kit
189 Summary(fi.UTF-8):      Gimp-työkalukokoelma ja Gimp-piirtotyökalut
190 Summary(fr.UTF-8):      Toolkit de GIMP (GTK) et Kit de dessin de GIMP (GDK)
191 Summary(it.UTF-8):      GIMP Toolkit and GIMP Drawing Kit
192 Summary(pl.UTF-8):      Pliki nagłówkowe i dokumentacja do GTK+
193 Summary(tr.UTF-8):      GIMP araç takımı ve çizim takımı
194 Group:          X11/Development/Libraries
195 Requires:       %{name} = %{version}-%{release}
196 Requires:       at-spi2-atk-devel >= 2.6.0
197 Requires:       atk-devel >= 1:2.16.0
198 Requires:       cairo-gobject-devel >= 1.14.0
199 Requires:       fontconfig-devel
200 Requires:       gdk-pixbuf2-devel >= 2.31.0
201 Requires:       glib2-devel >= 1:2.55.0
202 Requires:       graphene-devel >= 1.5.1
203 Requires:       libepoxy-devel >= 1.4
204 Requires:       pango-devel >= 1:1.41.0
205 Requires:       shared-mime-info
206 Requires:       xorg-lib-libX11-devel >= 1.5.0
207 Requires:       xorg-lib-libXcomposite-devel
208 Requires:       xorg-lib-libXcursor-devel
209 Requires:       xorg-lib-libXdamage-devel
210 Requires:       xorg-lib-libXext-devel
211 Requires:       xorg-lib-libXfixes-devel
212 Requires:       xorg-lib-libXi-devel
213 Requires:       xorg-lib-libXinerama-devel
214 Requires:       xorg-lib-libXrandr-devel
215 %if %{with wayland}
216 Requires:       wayland-devel >= 1.14.91
217 Requires:       wayland-egl-devel
218 Requires:       wayland-protocols >= 1.12
219 Requires:       xorg-lib-libxkbcommon-devel >= 0.2.0
220 %endif
221
222 %description devel
223 Header files and development documentation for the GTK+ libraries.
224
225 %description devel -l pl.UTF-8
226 Pliki nagłówkowe i dokumentacja do bibliotek GTK+.
227
228 %package static
229 Summary:        GTK+ static libraries
230 Summary(pl.UTF-8):      Biblioteki statyczne GTK+
231 Group:          X11/Development/Libraries
232 Requires:       %{name}-devel = %{version}-%{release}
233
234 %description static
235 GTK+ static libraries.
236
237 %description static -l pl.UTF-8
238 Biblioteki statyczne GTK+
239
240 %package apidocs
241 Summary:        GTK+ API documentation
242 Summary(pl.UTF-8):      Dokumentacja API GTK+
243 Group:          Documentation
244 Requires:       gtk-doc-common
245 %if "%{_rpmversion}" >= "5"
246 BuildArch:      noarch
247 %endif
248
249 %description apidocs
250 GTK+ API documentation.
251
252 %description apidocs -l pl.UTF-8
253 Dokumentacja API GTK+.
254
255 %package examples
256 Summary:        GTK+ - example programs
257 Summary(pl.UTF-8):      GTK+ - programy przykładowe
258 Group:          X11/Development/Libraries
259 Requires(post,postun):  glib2 >= 1:2.55.0
260 Requires:       %{name}-devel = %{version}-%{release}
261
262 %description examples
263 GTK+ - example programs.
264
265 %description examples -l pl.UTF-8
266 GTK+ - przykładowe programy.
267
268 %package cloudprint
269 Summary:        Cloudprint printing module for GTK+
270 Summary(pl.UTF-8):      Moduł GTK+ do drukowania przez Cloudprint
271 Group:          X11/Libraries
272 Requires:       %{name} = %{version}-%{release}
273
274 %description cloudprint
275 Cloudprint printing module for GTK+.
276
277 %description cloudprint -l pl.UTF-8
278 Moduł GTK+ do drukowania przez Cloudprint.
279
280 %package cups
281 Summary:        CUPS printing module for GTK+
282 Summary(pl.UTF-8):      Moduł GTK+ do drukowania przez CUPS
283 Group:          X11/Libraries
284 Requires:       %{name} = %{version}-%{release}
285 Requires:       cups-lib >= 1.6
286
287 %description cups
288 CUPS printing module for GTK+.
289
290 %description cups -l pl.UTF-8
291 Moduł GTK+ do drukowania przez CUPS.
292
293 %prep
294 %setup -q -n gtk+-%{version}
295 %patch0 -p1
296
297 %build
298 %meson build \
299         %{?with_apidocs:-Ddocumentation=true} \
300         %{?with_broadway:-Dbroadway-backend=true} \
301         %{?with_cloudproviders:-Dcloudproviders=true} \
302         -Dinstall-tests=false \
303         -Dman-pages=true \
304         -Dmedia-backends=%{!?with_ffmpeg:%{!?with_gstreamer:no}}%{?with_ffmpeg:ffmpeg,}%{?with_gstreamer:gstreamer} \
305         -Dprint-backends=file,lpr%{?with_cups:,cups}%{?with_cloudprint:,cloudprint} \
306         %{!?with_vulkan:-Dvulkan=no} \
307         %{!?with_wayland:-Dwayland-backend=false} \
308         -Dxinerama=yes
309
310 %meson_build -C build
311
312 %install
313 rm -rf $RPM_BUILD_ROOT
314
315 %meson_install -C build
316
317 install -d $RPM_BUILD_ROOT%{_libdir}/gtk-4.0/%{abivers}/{immodules,inspector}
318
319 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
320 cp -a demos examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
321
322 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
323 # unsupported by glibc
324 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/io
325
326 # gtk40 and gtk40-properties domains
327 %find_lang %{name} --all-name
328
329 %clean
330 rm -rf $RPM_BUILD_ROOT
331
332 %post
333 /sbin/ldconfig
334 %glib_compile_schemas
335 umask 022
336 gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/immodules
337 gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
338 exit 0
339
340 %postun
341 /sbin/ldconfig
342 if [ "$1" != "0" ]; then
343         umask 022
344         gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/immodules
345         gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
346 else
347         %glib_compile_schemas
348 fi
349 exit 0
350
351 %post examples
352 %glib_compile_schemas
353 %update_desktop_database
354 %update_icon_cache hicolor
355
356 %postun examples
357 %glib_compile_schemas
358 %update_desktop_database
359 %update_icon_cache hicolor
360
361 %post cloudprint
362 umask 022
363 gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
364
365 %postun cloudprint
366 if [ "$1" != "0" ]; then
367         umask 022
368         gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
369 fi
370 exit 0
371
372 %post cups
373 umask 022
374 gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
375
376 %postun cups
377 if [ "$1" != "0" ]; then
378         umask 022
379         gio-querymodules %{_libdir}/gtk-4.0/%{abivers}/printbackends
380 fi
381 exit 0
382
383 %files -f %{name}.lang
384 %defattr(644,root,root,755)
385 %doc AUTHORS NEWS README.md
386 %{?with_broadway:%attr(755,root,root) %{_bindir}/gtk4-broadwayd}
387 %attr(755,root,root) %{_bindir}/gtk4-launch
388 %attr(755,root,root) %{_libdir}/libgtk-4.so.0.9400.0
389 # library filename is actual soname as of 3.94.x
390 #attr(755,root,root) %ghost %{_libdir}/libgtk-4.so.0.9400.0
391
392 %dir %{_libdir}/gtk-4.0
393 %dir %{_libdir}/gtk-4.0/%{abivers}
394 %dir %{_libdir}/gtk-4.0/%{abivers}/immodules
395 %dir %{_libdir}/gtk-4.0/%{abivers}/inspector
396 %dir %{_libdir}/gtk-4.0/%{abivers}/media
397 %if %{with ffmpeg}
398 %attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/media/libmedia-ffmpeg.so
399 %endif
400 %if %{with gstreamer}
401 %attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/media/libmedia-gstreamer.so
402 %endif
403 %dir %{_libdir}/gtk-4.0/%{abivers}/printbackends
404 %attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-file.so
405 %attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-lpr.so
406 %{_libdir}/girepository-1.0/Gdk-4.0.typelib
407 %{_libdir}/girepository-1.0/GdkX11-4.0.typelib
408 %{_libdir}/girepository-1.0/Gsk-4.0.typelib
409 %{_libdir}/girepository-1.0/Gtk-4.0.typelib
410
411 %{_datadir}/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml
412 %{_datadir}/glib-2.0/schemas/org.gtk.Settings.Debug.gschema.xml
413 %{_datadir}/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml
414 %{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
415 %{?with_broadway:%{_mandir}/man1/gtk4-broadwayd.1*}
416 %{_mandir}/man1/gtk4-launch.1*
417
418 %files update-icon-cache
419 %defattr(644,root,root,755)
420 %attr(755,root,root) %{_bindir}/gtk4-encode-symbolic-svg
421 %attr(755,root,root) %{_bindir}/gtk4-update-icon-cache
422 %{_mandir}/man1/gtk4-encode-symbolic-svg.1*
423 %{_mandir}/man1/gtk4-update-icon-cache.1*
424
425 %files devel
426 %defattr(644,root,root,755)
427 %attr(755,root,root) %{_bindir}/gtk4-builder-tool
428 %attr(755,root,root) %{_bindir}/gtk4-query-settings
429 %attr(755,root,root) %{_libdir}/libgtk-4.so
430 %{_includedir}/gtk-4.0
431 %{_pkgconfigdir}/gtk+-4.0.pc
432 %{_pkgconfigdir}/gtk+-unix-print-4.0.pc
433 %{_pkgconfigdir}/gtk+-x11-4.0.pc
434 %if %{with broadway}
435 %{_pkgconfigdir}/gtk+-broadway-4.0.pc
436 %endif
437 %if %{with wayland}
438 %{_pkgconfigdir}/gtk+-wayland-4.0.pc
439 %endif
440 %{_datadir}/gettext/its/gtkbuilder.its
441 %{_datadir}/gettext/its/gtkbuilder.loc
442 %{_datadir}/gtk-4.0
443 %{_datadir}/gir-1.0/Gdk-4.0.gir
444 %{_datadir}/gir-1.0/GdkX11-4.0.gir
445 %{_datadir}/gir-1.0/Gsk-4.0.gir
446 %{_datadir}/gir-1.0/Gtk-4.0.gir
447 %{_mandir}/man1/gtk4-builder-tool.1*
448 %{_mandir}/man1/gtk4-query-settings.1*
449
450 %if %{with apidocs}
451 %files apidocs
452 %defattr(644,root,root,755)
453 %{_gtkdocdir}/gdk4
454 %{_gtkdocdir}/gsk4
455 %{_gtkdocdir}/gtk4
456 %endif
457
458 %files examples
459 %defattr(644,root,root,755)
460 %attr(755,root,root) %{_bindir}/gtk4-demo
461 %attr(755,root,root) %{_bindir}/gtk4-demo-application
462 %attr(755,root,root) %{_bindir}/gtk4-icon-browser
463 %attr(755,root,root) %{_bindir}/gtk4-widget-factory
464 %{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml
465 %{_datadir}/metainfo/org.gtk.Demo.appdata.xml
466 %{_datadir}/metainfo/org.gtk.WidgetFactory.appdata.xml
467 %{_desktopdir}/gtk4-demo.desktop
468 %{_desktopdir}/gtk4-icon-browser.desktop
469 %{_desktopdir}/gtk4-widget-factory.desktop
470 %{_iconsdir}/hicolor/*/apps/gtk4-demo-symbolic.symbolic.png
471 %{_iconsdir}/hicolor/*/apps/gtk4-demo.png
472 %{_iconsdir}/hicolor/*/apps/gtk4-widget-factory-symbolic.symbolic.png
473 %{_iconsdir}/hicolor/*/apps/gtk4-widget-factory.png
474 %{_mandir}/man1/gtk4-demo.1*
475 %{_mandir}/man1/gtk4-demo-application.1*
476 %{_mandir}/man1/gtk4-icon-browser.1*
477 %{_mandir}/man1/gtk4-widget-factory.1*
478 %{_examplesdir}/%{name}-%{version}
479
480 %if %{with cloudprint}
481 %files cloudprint
482 %defattr(644,root,root,755)
483 %attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-cloudprint.so
484 %endif
485
486 %if %{with cups}
487 %files cups
488 %defattr(644,root,root,755)
489 %attr(755,root,root) %{_libdir}/gtk-4.0/%{abivers}/printbackends/libprintbackend-cups.so
490 %endif
This page took 0.111382 seconds and 2 git commands to generate.